#ifndef MEMORY_H
#define MEMORY_H

#include <stddef.h>

// 内存管理相关的常量
#define MEMORY_POOL_SIZE 1024 * 1024  // 1 MB 内存池大小

// 内存块结构
typedef struct MemoryBlock {
    size_t size;              // 内存块大小
    struct MemoryBlock* next; // 指向下一个内存块
} MemoryBlock;

// 初始化内存管理
void init_memory();

// 分配内存
void* allocate_memory(size_t size);

// 释放内存
void free_memory(void* ptr);

// 获取当前可用内存大小
size_t get_available_memory();

#endif // MEMORY_H